package cn.han.review;

import java.util.*;

/*本类用于map结构的回顾*/
public class TestHashmap {
    public static void main(String[] args) {
        //1.创建集合map
        Map<Integer,String> map = new HashMap<>();
        //2.向map集合存入数据
        map.put(9527,"白骨精");
        map.put(9528,"黑熊精");
        map.put(9529,"小旋风");
        map.put(9527,"女儿国国王");
        System.out.println(map);
//        map.clear();
//        System.out.println(map);
        System.out.println(map.isEmpty());//判断集合是否为空
        System.out.println(map.size());//获取map中键值对的个数
        System.out.println(map.hashCode());//获取map对象的哈希码值
        System.out.println(map.containsKey(9527));//判断是否包含指定的key
        System.out.println(map.containsValue("白骨精"));//判断是否包含指定的value
        System.out.println(map.get(9527));//根据科研获取对应的value
        System.out.println(map.remove(9530));//根据key移除这一对键值对
        //将集合中的所有value取出，放到一个Collection集合里
        Collection<String> values = map.values();
        System.out.println(values);
        //迭代
        Set<Integer> integers = map.keySet();//将map的key值储存在一个集合里
        Iterator<Integer> it = integers.iterator();//获取集合的迭代器
        while (it.hasNext()){//遍历集合
            Integer key =it.next();//获取本轮循环迭代到的元素
            String value = map.get(key);//通过key值得到value
            System.out.println(key+value);

        }

        Set<Map.Entry<Integer,String>> set = map.entrySet();
        Iterator<Map.Entry<Integer,String>> iterator = set.iterator();
        while (iterator.hasNext()){
//            Map.Entry<Integer, String> next = iterator.next();
//            Integer key = next.getKey();
//            String value = next.getValue();
//            System.out.println(key+value);
            System.out.println(iterator.next());
        }

    }
}
